package com.zp.oj.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zp.oj.model.dto.questionSubmit.QuestionSubmitAddRequest;
import com.zp.oj.model.dto.questionSubmit.QuestionSubmitQueryRequest;
import com.zp.oj.model.entity.QuestionSubmit;
import com.zp.oj.model.entity.User;
import com.zp.oj.model.vo.QuestionSubmitVO;

/**
 * 帖子点赞服务
 *
 
 */
public interface QuestionSubmitService extends IService<QuestionSubmit> {

    /**
     * 点赞
     *
     * @param questionSubmitSubmitAddRequest
     * @param loginUser
     * @return
     */
    QuestionSubmitVO doQuestionSubmit(QuestionSubmitAddRequest questionSubmitSubmitAddRequest, User loginUser);


    /**
     * 点赞
     *
     * @param questionSubmitSubmitQueryRequest
     * @return
     */
    QueryWrapper<QuestionSubmit> getQueryWrapper(QuestionSubmitQueryRequest questionSubmitSubmitQueryRequest);

    /**
     * 获取题目封装
     *
     * @param questionSubmit
     * @param loginUser
     * @return
     */
    QuestionSubmitVO getQuestionSubmitVO(QuestionSubmit questionSubmit, User loginUser);

    /**
     * 分页获取题目封装
     *
     * @param questionSubmitPage
     * @param loginUser
     * @return
     */
    Page<QuestionSubmitVO> getQuestionSubmitVOPage(Page<QuestionSubmit> questionSubmitPage, User loginUser);

}
